package com.example.apitesttool.agent;

/**
 * 智能体节点接口
 * 代表智能体决策流程中的一个独立步骤或操作
 */
public interface AgentNode {
    
    /**
     * 执行节点逻辑
     * @param state 智能体状态
     * @return 执行结果，包含下一步动作的建议
     */
    AgentNodeResult execute(AgentState state);
    
    /**
     * 获取节点名称
     * @return 节点名称
     */
    String getNodeName();
    
    /**
     * 获取节点描述
     * @return 节点描述
     */
    String getNodeDescription();
    
    /**
     * 检查是否可以执行此节点
     * @param state 智能体状态
     * @return 是否可以执行
     */
    default boolean canExecute(AgentState state) {
        return true;
    }
}

